export default {
	/**
	 * 判断json对象是否为空
	 */
	getJuageJson(obj) {
		let data = {};
		for (var p in obj) { //遍历json对象的每个key/value对,p为key
			if (obj[p] != null && obj[p] != '' && obj[p] != undefined) {
				data[p] = obj[p];
			}
		}
		return data;
	},
	/**
	 * 判断是否有内容
	 * @param {Object} val
	 */
	isNull(val) {
		if (val == undefined) {
			return false;
		}
		var str = val.replace(/(^\s*)|(\s*$)/g, ''); //去除空格;

		if (str == '' || str == undefined || str == null) {
			return false;
		} else {
			return true;
		}
	},
	/**
	 * 获取文件名字
	 * @param {Object} path
	 */
	getPathName(path) {
		path = path.substring(path.lastIndexOf('\\') + 1, path.length);
		return path;
	},
	/**
	 * 获取参数url参数
	 * @param {Object} variable
	 */
	getQueryVariable(variable) {
		var query = window.location.search.substring(1);
		var vars = query.split('&');
		for (var i = 0; i < vars.length; i++) {
			var pair = vars[i].split('=');
			if (pair[0] == variable) {
				return pair[1];
			}
		}
		return false;
	},
	/**
	 * 时间戳转换为日期
	 * @param value 时间戳
	 * @param fmt  格式,默认yyyy-MM-dd hh:mm:ss
	 */

	formatDate({
		date,
		fmt = 'yyyy-MM-dd hh:mm:ss'
	} = {}) {
		if (date.length == 13) {
			date = date / 1000;
		}
		date = new Date(date);
		if (/(y+)/.test(fmt)) {
			fmt = fmt.replace(RegExp.$1,
				(date.getFullYear() + '').substr(4 - RegExp.$1.length));
		}
		let o = {
			'M+': date.getMonth() + 1,
			'd+': date.getDate(),
			'h+': date.getHours(),
			'm+': date.getMinutes(),
			's+': date.getSeconds()
		};
		for (let k in o) {
			if (new RegExp(`(${k})`).test(fmt)) {
				let str = o[k] + '';
				fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ?
					str : ('00' + str).substr(str.length));
			}
		}
		return fmt;
	},
	/**
	 * 获取时间的小时和秒数
	 */
	getHourMinute(value) {
		let date = new Date(value);
		let hours = date.getHours();
		let minute = date.getMinutes();
		if (hours <= 9) {
			hours = '0' + hours;
		}
		if (minute <= 9) {
			minute = '0' + minute;
		}
		return hours + ":" + minute;
	},

	/**
	 * 手机号正则
	 */
	checkPhone(phone) {
		if (!(/^1[3456789]\d{9}$/.test(phone))) {
			return true;
		}
	},
	/**
	 * 身份证正则
	 */
	isCardNo(card) {
	    const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
	    if (reg.test(card) === false) {
	        return false;
	    } else {
	        return true;
	    }
	},

	/**
	 * 邮箱正则
	 * @param {Object} str
	 */
	checkEmail(str) {
		var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
		return reg.test(str);
	},
	
	utc2beijing(utc_datetime) {
		utc_datetime = utc_datetime.replace(/-/g, '/');
		// 转为正常的时间格式 年-月-日 时:分:秒
		var T_pos = utc_datetime.indexOf('T');
		var Z_pos = utc_datetime.indexOf('Z');
		var year_month_day = utc_datetime.substr(0, T_pos);
		var hour_minute_second = utc_datetime.substr(T_pos + 1, Z_pos - T_pos - 1);
		var new_datetime = year_month_day + " " + hour_minute_second;
		// 处理成为时间戳
		timestamp = new Date(Date.parse(new_datetime));
		timestamp = timestamp.getTime();
		timestamp = timestamp / 1000;
		// 增加8个小时，北京时间比utc时间多八个时区
		var timestamp = timestamp + 8 * 60 * 60;
		// 时间戳转为时间
		var beijing_datetime = new Date(parseInt(timestamp) * 1000);

		return this.formatDate({
			date: beijing_datetime
		});
	}
	
};
